package cn.renxuan.reflection;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ClassHelper {
    /*
     * 获取所有的字段包含父类的
     */
    public static List<Field> getAllFields(Class<?> clazz) {
        List<Field> fields = new ArrayList<>();
        // 获取当前类的所有字段
        fields.addAll(Arrays.asList(clazz.getDeclaredFields()));

        // 递归获取父类的字段
        Class<?> superClass = clazz.getSuperclass();
        if (superClass != null) {
            fields.addAll(getAllFields(superClass));
        }
        return fields;
    }
}
